1. Field of the Invention
The present invention relates to a method and a system for multiplexing voice or sound packets (hereafter referred to as voice packets), and more particularly to a method and a system for multiplexing packets with higher transfer efficiency and less delay variation of voice packets by controlling the sequence of multiplexing groups of voice activity data (hereafter referred to as talk spurts) that occurs during voice activity intervals in each channel when voice data of a plurality of channels is multiplexed.
2. Description of Related Art
In private networks, mobile communication networks or the like, speech processing, such as low bit rate speech coding and silence compression, is widely used for efficient utilization of limited line capacity. Most of the current standardized speech coding algorithms at not higher than 8 kbit/s have been designed to output compressed voice information of several tens or hundreds of bits in a burst in a voice frame. For example, in CS-ACELP (Conjugate Structurexe2x80x94Algebraic Code Excited Linear Prediction, ITU-T (International Telecommunication Unionxe2x80x94Telecommunication standardization sector) Recommendation G.729), compressed voice information of 10 bytes is output in every 10-ms voice frame.
When voice information coded at such a low bit rate is transmitted on an ATM (Asynchronous Transfer Mode) network or a frame relay network, specifically, on an ATM network, for example, the delay time (cell assembly delay) by accumulation of voice information of one channel corresponding to one cell increases in proportion to a decrease in bit rate. To cite an example, the cell assembly delay is 6 ms for voice at 64 kbit/s, but the cell assembly delay is as long as about 50 ms for voice at 8 kbit/s. To reduce the cell assembly delay, it is only necessary to decrease the data storage length of the payload in a cell, but the transmission efficiency decreases in proportion to the reduction of the data storage length.
With this as a backdrop, ITU-T inquired into the method of decreasing the cell assembly delay by dividing voice information coded at a low bit rate into packets and storing compressed voice packets of a plurality of channels into the payload of an ATM cell, and issued a recommendation xe2x80x9cAAL type 2 (ATM Adaptation Layer type 2, ITU-T Recommendation I.363.2)xe2x80x9d. For a frame relay service, there is xe2x80x9cVoice over Frame Relay Implementation Agreement FRF.11xe2x80x9d, which provides a transfer method specification that compressed voice information at low bit rate is divided into sub-frames, and a frame formed of sub-frames of several channels is transferred. By the transfer methods provided in AAL type 2 and FRF.11, it is possible to reduce cell assembly delay or frame assembly delay, and implement high-efficiency transmission. When each compressed voice information is formed into packets or sub-frames, silence compression technique can be applied, so that bandwidth reduction effects can be expected. The silence compression is a voice coding technique, which does not output compressed voice information during silence intervals, as recommended in ITU-T G.729 Annex B, for example.
FIG. 15 is a diagram for explaining the operation of multiplexing silence compressed voice packets in a prior art.
As shown in FIG. 15, in the conventional silence compressed voice packet-multiplexing method, packets are formed by adding a packet header to each data element of compressed voice information, which belongs to channels CH1, CH2 and CH3. Next, by putting packets (of three channels in this example) into the payload of an ATM cell in the generation order of packets, and adding a cell header to the payload, the ATM cell is formed, which includes voice information of a plurality of channels. Voice packets are prevented from being generated during silence intervals. According to the method described above, when the silence rate is 50% (the percentage of silence intervals in voice data is 50%), for example, a bandwidth reduction effect of 50% can be theoretically obtained if overhead, such as packet headers and a cell header, is disregarded.
When silence compressed voice packets of a plurality of channels are multiplexed on an ATM network or a frame relay network, as described above, a bandwidth reduction effect according to the silence rate can be obtained. However, whether voice information in a channel is a voice activity interval or a silence interval is influenced by statistical factors. There may be a case where voice information of all channels is voice activity intervals and compressed voice packets is generated simultaneously. Conversely, there may also be a case where voice information of all channels may be silence intervals and compressed voice packets are not generated at all.
More specifically, when silence compressed voice packets of a plurality of channels are multiplexed, as in the prior art, if packets are multiplexed in their order of generation, the traffic characteristic of multiplexed data output is VBR (Variable Bit Rate). For this reason, when a limited bandwidth is used efficiently or when the bandwidth for multiplexed data output is set by CBR (Constant Bit Rate) to secure a voice bandwidth because it is difficult to control it by rt-VBR (real time VBR) control, delay variations occur between compressed voice packets in each channel. The important thing here is to increase the number of channels to be multiplexed to make effective use of the limited line capacity. However, the more the number of multiplexed channels increases, the more delay variations increase. ATM Forum Traffic Management Specification Version 4.0 stipulates VBR, rt-VBR, and CBR.
When silence compressed voice packets of a plurality of channels are multiplexed in the order of their generation as mentioned above, delay variations occur between the compressed voice packets in each channel, so that voice on the receiving side is drawn out or broken intermittently, thus deteriorating reproduced voice quality. As means for damping out delay variations on the receiving side, there is a fixed delay addition process, for example. By this process, after the first compressed voice packet is received, data is buffered for a fixed length of time and added with a fixed delay, then compressed voice packets are successively decoded and reproduced at fixed intervals. In any case, a variation-damping buffer is required on the receiving side, which is in proportion to the magnitude of delay variations, to prevent voice quality deterioration due to delay variations between the compressed voice packets.
As has been described, when silence compressed voice packets of a plurality of channels are multiplexed in the order of their generation, there is a trade-off between the utilization efficiency of the output port and delay variations of compressed voice packets of each channel. To be more specific, as the number of multiplexed channels is increased to improve the utilization efficiency of the output port, the delay variations of the compressed voice packets increase. Therefore, the buffer on the receiving side must be large enough to damp out the delay variations of the compressed voice packets in each channel.
The present invention has been made with the above problem in mind and has as its object to prevent delay variations from occurring between the voice packets in each channel even if the number of channels multiplexed is increased to improve the utilization efficiency of the output port when a plurality of voice packets, particularly, silence compressed voice packets, are multiplexed.
To achieve the above object, in the present invention, a decision is made as to whether or not a packet is multiplexed for every talk spurts of each channel, so that the multiplexed packets are prevented from being output faster than the bit rate of the output port.
By this arrangement, delay variations do not occur among the compressed voice data in the talk spurts of each channel. Moreover, the capacity of the delay variation damp-out buffer on the receiving side can be reduced without deteriorating voice quality on the receiving side.
Details of the present invention will be described in specific in the following.
According to the present invention, there is provided a packet multiplexing method for multiplexing voice activity data groups input in each channel, each group including voice data occurring during voice activity intervals, comprising the steps of:
selecting a number of channels not greater than a predetermined number of channels that can be multiplexed at a time from among channels corresponding to input voice activity data groups; and
multiplexing voice data of the voice activity data groups of selected channels and outputting multiplexed voice packets.
According to the present invention, there is also provided a packet multiplexing system for multiplexing voice activity data groups input in each channel, each group including voice data during voice activity intervals, comprising:
a packet buffering unit for storing input voice activity data groups;
a scheduler for sequentially storing channel numbers of the voice activity data groups input to the packet buffering unit, and also storing channel numbers to be read by priority from among the stored channel numbers;
a write controller for discriminating initial or last data of the voice activity data group, controlling a write operation of voice data of the voice activity data group into the packet buffering unit for each channel, and controlling a write operation of a channel number of the voice activity data group into the scheduler; and
a read controller for selecting channel numbers not greater than the predetermined number of channels that can be multiplexed at a time, in an order of channel numbers stored in the scheduler and read out by priority, controlling a multiplexing sequence according to selected channel numbers, and outputting voice packets formed by multiplexing voice data of voice activity data groups corresponding to the selected channel numbers.